package com.antler.smt.request.admin;

import com.antler.smt.request.base.BasePageReq;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * 获取用户发布需求信息
 *
 * @author zhangyi
 * @date 2018-03-23  10:37
 */
@ApiModel(value = "GetRequirementListReq", description = "获取用户发布需求信息")
public class GetRequirementListReq extends BasePageReq {

    /**
     * 采购商ID
     */
    @ApiModelProperty(value = "采购商ID", name = "purchaserId", allowEmptyValue = true)
    private Long purchaserId;

    /**
     * 项目名称
     */
    @ApiModelProperty(value = "项目名称", name = "name", required = true)
    private String name;

    /**
     * 项目描述
     */
    @ApiModelProperty(value = "项目描述", name = "description", required = true)
    private String description;

    /**
     * 贴片类型 (1纯贴片 2贴片+插件)
     */
    @ApiModelProperty(value = "贴片类型 (1纯贴片 2贴片+插件)", name = "type", required = true)
    private Byte type;

    /**
     * 单点套数-0402及以上焊盘
     */
    @ApiModelProperty(value = "单点套数-0402及以上焊盘", name = "ddtsHp0402", required = true)
    private Integer ddtsHp0402;

    /**
     * 单点套数-BGA/0201焊盘
     */
    @ApiModelProperty(value = "单点套数-BGA/0201焊盘", name = "ddtsBga", required = true)
    private Integer ddtsBga;

    /**
     * 单点套数-BGA/0201焊盘
     */
    @ApiModelProperty(value = "单点套数-BGA/0201焊盘", name = "ddtsDipDls", required = true)
    private Integer ddtsDipDls;

    /**
     * 单点套数-DIP焊盘
     */
    @ApiModelProperty(value = "单点套数-DIP焊盘", name = "ddtsDipHp", required = true)
    private Integer ddtsDipHp;

    /**
     * 单点套数-dip焊线
     */
    @ApiModelProperty(value = "单点套数-dip焊线", name = "ddtsDipHx", required = true)
    private Integer ddtsDipHx;

    /**
     * 单点套数-其他
     */
    @ApiModelProperty(value = "单点套数-其他", name = "ddtsOther", required = true)
    private String ddtsOther;

    /**
     * 物料-数量
     */
    @ApiModelProperty(value = "物料-数量", name = "wlCount", required = true)
    private Integer wlCount;

    /**
     * 物料-贴装 1单面 2双面
     */
    @ApiModelProperty(value = "物料-贴装 1单面 2双面", name = "wlTz", required = true)
    private Integer wlTz;

    /**
     * 物料-材料 1有铅锡膏 2无铅锡膏 3红胶
     */
    @ApiModelProperty(value = "物料-材料 1有铅锡膏 2无铅锡膏 3红胶", name = "wlCl", required = true)
    private Integer wlCl;

    /**
     * 物料-铅网 1由服务商提供 2自备
     */
    @ApiModelProperty(value = "物料-铅网 1由服务商提供 2自备", name = "wlQw", required = true)
    private Integer wlQw;

    /**
     * 物料-夹具 1由服务商提供 2自备
     */
    @ApiModelProperty(value = "物料-夹具 1由服务商提供 2自备", name = "wlJj", required = true)
    private Integer wlJj;

    /**
     * 物料-包装 1静电气泡袋包装
     */
    @ApiModelProperty(value = "物料-包装 1静电气泡袋包装", name = "wlBz", required = true)
    private Integer wlBz;

    /**
     * 钢网附件
     */
    @ApiModelProperty(value = "钢网附件", name = "wlGwAttachmentId", allowEmptyValue = true)
    private Long wlGwAttachmentId;

    /**
     * 夹具附件
     */
    @ApiModelProperty(value = "夹具附件", name = "wlJjAttachmentId", allowEmptyValue = true)
    private Long wlJjAttachmentId;

    /**
     * 交期类型-1普通 2加急
     */
    @ApiModelProperty(value = "交期类型-1普通 2加急", name = "endlineType", required = true)
    private Integer endlineType;

    /**
     * 交期时间
     */
    @ApiModelProperty(value = "交期时间", name = "endline", required = true)
    private Integer endline;

    /**
     * 标准文件-材料清单附件id
     */
    @ApiModelProperty(value = "标准文件-材料清单附件id", name = "bzwjClqdAttachmentId", required = true)
    private Long bzwjClqdAttachmentId;

    /**
     * 标准文件-图纸-附件id
     */
    @ApiModelProperty(value = "标准文件-图纸-附件id", name = "bzwjTzAttachmentId", required = true)
    private Long bzwjTzAttachmentId;

    /**
     * 标准文件-坐标文件-附件id
     */
    @ApiModelProperty(value = "标准文件-坐标文件-附件id", name = "bzwjZbwjAttachmentId", required = true)
    private Long bzwjZbwjAttachmentId;

    /**
     * 1、全测 2、抽测
     */
    @ApiModelProperty(value = "1、全测 2、抽测", name = "aoi", required = true)
    private Integer aoi;

    /**
     * 报价
     */
    @ApiModelProperty(value = "报价", name = "offer", required = true)
    private Long offer;

    /**
     * 发货时间
     */
    @ApiModelProperty(value = "发货时间", name = "sendTime", required = true)
    private Date sendTime;

    /**
     * 收货地址id
     */
    @ApiModelProperty(value = "收货地址id", name = "addressId", required = true)
    private Long addressId;

    /**
     * 收货地址
     */
    @ApiModelProperty(value = "收货地址", name = "address", required = true)
    private String address;

    /**
     * 收获人电话
     */
    @ApiModelProperty(value = "收获人电话", name = "contactTel", required = true)
    private String contactTel;

    /**
     * 联系人
     */
    @ApiModelProperty(value = "联系人", name = "contactMan", required = true)
    private String contactMan;

    /**
     * 备注
     */
    @ApiModelProperty(value = "备注", name = "remarks", required = true)
    private String remarks;

    /**
     * 收货人姓名
     */
    private String consigneeName;

    /**
     * 收货人电话
     */
    private String consigneePhone;

    /**
     * 收货人地址
     */
    private String consigneeAdress;

    public String getConsigneeName() {
        return consigneeName;
    }

    public void setConsigneeName(String consigneeName) {
        this.consigneeName = consigneeName;
    }

    public String getConsigneePhone() {
        return consigneePhone;
    }

    public void setConsigneePhone(String consigneePhone) {
        this.consigneePhone = consigneePhone;
    }

    public String getConsigneeAdress() {
        return consigneeAdress;
    }

    public void setConsigneeAdress(String consigneeAdress) {
        this.consigneeAdress = consigneeAdress;
    }

    public Long getWlJjAttachmentId() {
        return wlJjAttachmentId;
    }

    public void setWlJjAttachmentId(Long wlJjAttachmentId) {
        this.wlJjAttachmentId = wlJjAttachmentId;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public Byte getType() {
        return type;
    }

    public void setType(Byte type) {
        this.type = type;
    }

    public Integer getDdtsHp0402() {
        return ddtsHp0402;
    }

    public void setDdtsHp0402(Integer ddtsHp0402) {
        this.ddtsHp0402 = ddtsHp0402;
    }

    public Integer getDdtsBga() {
        return ddtsBga;
    }

    public void setDdtsBga(Integer ddtsBga) {
        this.ddtsBga = ddtsBga;
    }

    public Integer getDdtsDipDls() {
        return ddtsDipDls;
    }

    public void setDdtsDipDls(Integer ddtsDipDls) {
        this.ddtsDipDls = ddtsDipDls;
    }

    public Integer getDdtsDipHp() {
        return ddtsDipHp;
    }

    public void setDdtsDipHp(Integer ddtsDipHp) {
        this.ddtsDipHp = ddtsDipHp;
    }

    public Integer getDdtsDipHx() {
        return ddtsDipHx;
    }

    public void setDdtsDipHx(Integer ddtsDipHx) {
        this.ddtsDipHx = ddtsDipHx;
    }

    public String getDdtsOther() {
        return ddtsOther;
    }

    public void setDdtsOther(String ddtsOther) {
        this.ddtsOther = ddtsOther;
    }

    public Integer getWlCount() {
        return wlCount;
    }

    public void setWlCount(Integer wlCount) {
        this.wlCount = wlCount;
    }

    public Integer getWlTz() {
        return wlTz;
    }

    public void setWlTz(Integer wlTz) {
        this.wlTz = wlTz;
    }

    public Integer getWlCl() {
        return wlCl;
    }

    public void setWlCl(Integer wlCl) {
        this.wlCl = wlCl;
    }

    public Integer getWlQw() {
        return wlQw;
    }

    public void setWlQw(Integer wlQw) {
        this.wlQw = wlQw;
    }

    public Integer getWlJj() {
        return wlJj;
    }

    public void setWlJj(Integer wlJj) {
        this.wlJj = wlJj;
    }

    public Integer getWlBz() {
        return wlBz;
    }

    public void setWlBz(Integer wlBz) {
        this.wlBz = wlBz;
    }

    public Long getWlGwAttachmentId() {
        return wlGwAttachmentId;
    }

    public void setWlGwAttachmentId(Long wlGwAttachmentId) {
        this.wlGwAttachmentId = wlGwAttachmentId;
    }

    public Integer getEndlineType() {
        return endlineType;
    }

    public void setEndlineType(Integer endlineType) {
        this.endlineType = endlineType;
    }

    public Integer getEndline() {
        return endline;
    }

    public void setEndline(Integer endline) {
        this.endline = endline;
    }

    public Long getBzwjClqdAttachmentId() {
        return bzwjClqdAttachmentId;
    }

    public void setBzwjClqdAttachmentId(Long bzwjClqdAttachmentId) {
        this.bzwjClqdAttachmentId = bzwjClqdAttachmentId;
    }

    public Long getBzwjTzAttachmentId() {
        return bzwjTzAttachmentId;
    }

    public void setBzwjTzAttachmentId(Long bzwjTzAttachmentId) {
        this.bzwjTzAttachmentId = bzwjTzAttachmentId;
    }

    public Long getBzwjZbwjAttachmentId() {
        return bzwjZbwjAttachmentId;
    }

    public void setBzwjZbwjAttachmentId(Long bzwjZbwjAttachmentId) {
        this.bzwjZbwjAttachmentId = bzwjZbwjAttachmentId;
    }

    public Integer getAoi() {
        return aoi;
    }

    public void setAoi(Integer aoi) {
        this.aoi = aoi;
    }

    public Long getOffer() {
        return offer;
    }

    public void setOffer(Long offer) {
        this.offer = offer;
    }

    @JsonFormat(timezone = "Hongkong", pattern = "yyyy-MM-dd HH:mm:ss")
    public Date getSendTime() {
        return sendTime;
    }

    public void setSendTime(Date sendTime) {
        this.sendTime = sendTime;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public Long getPurchaserId() {
        return purchaserId;
    }

    public void setPurchaserId(Long purchaserId) {
        this.purchaserId = purchaserId;
    }

    public Long getAddressId() {
        return addressId;
    }

    public void setAddressId(Long addressId) {
        this.addressId = addressId;
    }

    public String getContactTel() {
        return contactTel;
    }

    public void setContactTel(String contactTel) {
        this.contactTel = contactTel;
    }

    public String getContactMan() {
        return contactMan;
    }

    public void setContactMan(String contactMan) {
        this.contactMan = contactMan;
    }

    public String getRemarks() {
        return remarks;
    }

    public void setRemarks(String remarks) {
        this.remarks = remarks;
    }

  @Override
    public String toString() {
        return "GetRequirementListReq{" +
                "name='" + name + '\'' +
                ", description='" + description + '\'' +
                ", type=" + type +
                ", ddtsHp0402=" + ddtsHp0402 +
                ", ddtsBga=" + ddtsBga +
                ", ddtsDipDls=" + ddtsDipDls +
                ", ddtsDipHp=" + ddtsDipHp +
                ", ddtsDipHx=" + ddtsDipHx +
                ", ddtsOther='" + ddtsOther + '\'' +
                ", wlCount=" + wlCount +
                ", wlTz=" + wlTz +
                ", wlCl=" + wlCl +
                ", wlQw=" + wlQw +
                ", wlJj=" + wlJj +
                ", wlBz=" + wlBz +
                ", wlGwAttachmentId=" + wlGwAttachmentId +
                ", endlineType=" + endlineType +
                ", endline=" + endline +
                ", bzwjClqdAttachmentId=" + bzwjClqdAttachmentId +
                ", bzwjTzAttachmentId=" + bzwjTzAttachmentId +
                ", bzwjZbwjAttachmentId=" + bzwjZbwjAttachmentId +
                ", aoi=" + aoi +
                ", offer=" + offer +
                ", sendTime=" + sendTime +
                ", address='" + address + '\'' +
                ", contactTel='" + contactTel + '\'' +
                ", contactMan='" + contactMan + '\'' +
                ", remarks='" + remarks + '\'' +
                '}' + super.toString();
    }
}